package com.igeek.boot.config;

import com.igeek.boot.quartz.MyQuartzJob;
import org.quartz.*;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @Author fengqq
 * @Description TODO
 * @Date 2024/9/9  15:50
 */
//@Configuration
public class QuartzConfig {

    //工作明细
    @Bean
    public JobDetail printJobDetail(){
        //构建具体工作   newJob指定工作内容  storeDurably设置持久化
        return JobBuilder.newJob(MyQuartzJob.class).storeDurably().build();
    }
    //触发器 1.构建调度器，2.用来绑定工作明细和调度器
    @Bean
    public Trigger printTrigger(){
        //1.构建调度器，并指定cron表达式
        //每天早上8点 每隔10s 执行 0/10 * 8 * * ?
        ScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule("0/10 * * * * ?");
        //2.构建触发器，并绑定工作明细，以及定时任务
        return TriggerBuilder.newTrigger().forJob(printJobDetail()).withSchedule(scheduleBuilder).build();
    }
}
